Internet printing method, system thereof, proxy unit and print server

ABSTRACT

The Internet printing system for a client perform printing out to a print server that cannot circumvent a firewall by the Internet Printing Protocol (IPP). For a print server which cannot circumvent the firewall by IPP, a proxy unit which can communicate using IPP is installed on the Internet. A server site of the print server is opened on the proxy unit, and an IPP client regards the print server as a public IPP server opened on the Internet, and exchanges printing service requests and responses via the proxy unit. Since the proxy unit performs gateway conversion from IPP into another protocol, the client can print out to the print server circumventing the firewall by using IPP.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an Internet printing method, a systemthereof, a proxy unit and a print server for transmitting printing datato a printer through the firewall of an organization from a client onthe Internet and printing to that printer, and more particularly to anInternet printing method, a system thereof, a proxy system and a printserver for printing data by a printer at a remote area under a firewallusing IPP (Internet Printing Protocol) from outside a firewall.

2. Description of the Related Art

Today as the Internet spreads, methods for communicating by connectingvarious equipment and networks via the Internet are in use. As a methodto share a printer in this inter-network, the IETF standardized IPP(Internet Printing Protocol) in RFC 2565-9, RFC 2616 and RFC 2639. IPPis described in detail in Chapter 18, “Sharing files and printers” of“TCP/IP Protocol and Service Guide”, published by Nikkei BP Soft PressCo.

FIG. 37, FIG. 38 and FIG. 39 are diagrams depicting conventionalInternet printing models. Internet printing by IPP has functions for theuser to install, use and monitor a printer via an inter-network. Bythis, the client can access a printer via the Internet as if the printerwere directly connected to a local area network (LAN) of a company.

In other words, the user can install a printer using a Web browser andadditional Wizard software of the printer by IPP, and at this time theuser can specify a URL (Uniform Resource Locator) or an IP (InternetProtocol) address instead of a UNC (Universal Naming Convention) path ofa printer. Also output can be directly sent to a URL using the printerinterface when a printing request is sent after the printer isinstalled.

As FIG. 37 shows, when an IPP client 110 and an IPP server (printer) 112are directly connected with the Internet 100, printing by the printer112 at a remote area is possible using IPP.

Also as FIG. 38 shows, a firewall 114 is disposed between an intranetand the Internet to protect security against network crimes which occuras the Internet develops.

A setting policy of the simplest and most typical firewall 114 ispermitting all connections from inside the firewall to the outside, andpermitting only connections to the public server with a restrictedprotocol for connections from outside the firewall to inside thefirewall. Here the network outside the firewall is defined as an“extranet” and the network inside the firewall as an “intranet”.

As FIG. 38 shows, the client 110 in the organization can print out tothe printer 112, which is directly connected to the Internet 100, usingIPP by setting a server (proxy server) to insure security (firewall).

However, as FIG. 39 shows, the client 110 cannot execute a print out tothe printer 112 under the firewall 116, since an IPP packet cannot passdue to the protection of the firewall 116.

On the other hand, FIG. 39 shows a request for the client 110 to executea print out to the printer 112 under the firewall 116 via the Internet100 using IPP. This is an example when a member of a company prints outto the printer 112 under the firewall 116 of the company from home oroutside the company via the Internet 100, or when an individual outsidethe company executes a print out to the printer 112 under the firewall116 of the company via the Internet 100 at the request of the company.

As a method of printing by circumventing the firewall, it is proposedthat print data is attached to an electronic mail, is converted to SMTP(Simple Mail Transfer Protocol), and is printed (e.g. Japanese PatentLaid-Open No. H10-187370).

With this method of using an electronic mail, however, the followingproblem occurs. This method is inappropriate for printing a large volumeof print data since a mail server may restrict the mail size. Alsoaccurate printing is not guaranteed with electronic mail. Also theprinter status and printing status cannot be acquired.

SUMMARY OF THE INVENTION

With the foregoing in view, it is an object of the present invention toprovide an Internet printing method, a system thereof, a proxy unit anda print server for printing data by a printer circumventing the firewallusing IPP.

It is another object of the present invention to provide an Internetprinting method, a system thereof, a proxy unit, and a print server forprinting a large volume of data by a printer circumventing the firewallusing IPP.

It is still another object of the present invention to provide anInternet printing method, a system thereof, a proxy unit, and a printserver for printing data by a printer circumventing the firewall usingIPP while checking the status of the printer.

It is still another object of the present invention to provide anInternet printing method, a system thereof, a proxy unit, and a printserver for printing data by a printer using a private address of anintranet circumventing the firewall.

To achieve these objects, the present invention is an Internet printingmethod for a client to control the printing of a print server via theInternet using the Internet Printing Protocol, comprising: a step ofopening a server site of the print server in a proxy unit on theInternet according to a request from one of the client and the printserver; a step of the client accessing the server site using theInternet Printing Protocol; and a step of converting the printingservice request of the client using the Internet Printing Protocol to aprotocol which allows circumventing the firewall of the print server,and transferring the request to the print server according to theaccess.

The Internet printing system of the present invention comprises a clientwhich communicates at least by the Internet Printing Protocol, a printserver which is protected by a firewall on the Internet and executes aprinting request, and a proxy unit which opens a server site of theprint server according to a request from one of the client and the printserver, converts the printing service request of the client using theInternet Printing Protocol to a protocol which allows circumventing thefirewall of the print server at the access of the client to the serversite by the Internet Printing Protocol, and transfers the request to theprint server.

The proxy system of the present invention opens a server site of theprint server according to the request from one of the client and printserver, converts the printing service request of the client by theInternet Printing Protocol to a protocol which allows circumventing thefirewall of the print server at the access of the client to the serversite by the Internet Printing Protocol, and transfers the request to theprint server.

Also the print server of the present invention requests a proxy unitinstalled on the Internet to open a server site of the print server,receives a printing service request from the proxy unit where theprinting service request of the client by Internet Printing Protocol isconverted into a protocol which allows circumventing the firewall of theprint server at the access of the client to the server site by theInternet Printing Protocol, and executes a printing service request.

According to the present invention, a proxy unit which can communicateby the Internet Printing Protocol (IPP) is installed for a print serverwhich cannot circumvent the firewall by IPP and the server site of theprint server is opened in the proxy unit, so the client can exchange aprinting service request and response regarding the print server as anIPP server opened on the Internet. Since the proxy unit performs gatewayconversion from IPP into another protocol, the client can print out to aprint server circumventing the firewall.

It is preferable in the present invention that the method furthercomprises a step of returning the execution result of the print serverfor the printing service request to the proxy unit, and returning theexecution result to the client by the Internet Printing Protocol. As aresult, the client can execute a job while monitoring the printer statusby IPP.

It is preferable in the present invention that the method furthercomprises a step of connecting the proxy unit and the print serveraccording to the connection request from the print server, so as toconnect with an IPP server opened on the Internet.

Also in the present invention, it is preferable that the proxy unitplays the role of a server and the print server plays the role of aclient when the proxy unit and the print server are connected, and theproxy unit plays the role of a client and the print server plays therole of a server when a printing service is requested after theconnection. As a result, the print server can request a connection frominside the firewall to the outside, and the proxy unit can request aprinting service.

It is also preferable that the present invention further comprise a stepof transmitting a printing command from the client to the print serverby a protocol which allows circumventing the firewall, and a step ofconnecting the proxy unit and the print server according to a connectionrequest from the print server corresponding to the printing command. Asa result, the present invention can be implemented simply by adding amail function to the IPP client.

It is also preferable that the present invention further comprise a stepof transmitting a printing command from the client to the proxy unit bythe Internet Printing Protocol, a step of transferring the printingcommand from the proxy unit to the print server by a protocol whichallows circumventing the firewall, and a step of connecting the proxyunit and the print server according to a connection request from theprint server corresponding to the transferred printing command. As aresult, the present invention can be implemented without addingunnecessary functions to an IPP client.

It is also preferable that the present invention further comprise a stepof constantly connecting the proxy unit and the print server accordingto a connection request from the print server, so that the presentinvention can be implemented simply.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of the Internet printing system of anembodiment of the present invention;

FIG. 2 is a block diagram depicting a client of the system in FIG. 1;

FIG. 3 is a diagram depicting a printing setup screen of the client inFIG. 2;

FIG. 4 is a block diagram depicting the proxy unit of the system in FIG.1;

FIG. 5 is a block diagram depicting the print server of the system inFIG. 1;

FIG. 6 is a diagram depicting the communication format between theclient and the proxy unit in the system in FIG. 1;

FIG. 7 is a format diagram of an External Printing Protocol (ExPP) ofthe system in FIG. 1;

FIG. 8 is a format diagram of another ExPP of the system in FIG. 1;

FIG. 9 is a format diagram of the Ethernet header of the communicationformat in FIG. 6;

FIG. 10 is a format diagram of the IP header of the communication formatin FIG. 6;

FIG. 11 is a format diagram of the TCP header of the communicationformat in FIG. 6;

FIG. 12 is a format diagram of the HTTP header of the communicationformat in FIG. 6;

FIG. 13 is a diagram depicting the communication format between theproxy and the print server of the system in FIG. 1;

FIG. 14 is a table explaining the roles of the client, the proxy and theprint server of the system in FIG. 1;

FIG. 15 is a connection processing flow chart of the proxy and the printserver depicting role conversion in FIG. 14;

FIG. 16 is a diagram depicting an External Printing Model (ExPM) of thefirst embodiment of the present invention;

FIG. 17 is a time chart of the ExPM in FIG. 16;

FIG. 18 is a processing flow chart of the ExPM client of the firstembodiment in FIG. 16;

FIG. 19 is a processing flow chart (1) of the ExPM proxy of the firstembodiment in FIG. 16;

FIG. 20 is a processing flow chart (2) of the ExPM proxy of the firstembodiment in FIG. 16;

FIG. 21 is a reception processing flow chart of the proxy from theclient in FIG. 20;

FIG. 22 is a reception processing flow chart of the proxy from the printserver in FIG. 20;

FIG. 23 is a processing flow chart of the ExPM print server of the firstembodiment in FIG. 16;

FIG. 24 is a data reception processing flow chart of the ExPM server inFIG. 23;

FIG. 25 is a connection processing flow chart of the proxy and the printserver in FIG. 16;

FIG. 26 is a diagram depicting a variant form of the ExPM of the firstembodiment of the present invention;

FIG. 27 is a time chart of the ExPM in FIG. 27;

FIG. 28 is a diagram depicting the ExPM of the second embodiment of thepresent invention;

FIG. 29 is a diagram depicting the printing setup screen in FIG. 28;

FIG. 30 is a time chart of the ExPM in FIG. 28;

FIG. 31 is a diagram depicting a variant form of the ExPM of the secondembodiment of the present invention;

FIG. 32 is a time chart of the ExPM in FIG. 31;

FIG. 33 is a diagram depicting the ExPM in the third embodiment of thepresent invention;

FIG. 34 is a diagram depicting the printing setup screen in FIG. 33;

FIG. 35 is a diagram depicting a form of using the system of the presentinvention;

FIG. 36 is a diagram depicting another form of using the system of thepresent invention;

FIG. 37 is a diagram depicting the printing operation by a conventionalIPP;

FIG. 38 is a diagram depicting the printing operation when the firewallof a conventional IPP is circumvented; and

FIG. 39 is a diagram depicting the operation through the firewall of aconventional IPP.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Embodiments of the present invention will now be described withreference to the accompanying drawings in the sequence of Internetprinting system, Internet printing method, first embodiment, secondembodiment, third embodiment, and other embodiments.

[Internet Printing System]

FIG. 1 is a block diagram of an Internet printing system of anembodiment of the present invention, FIG. 2 is a block diagram of theclient thereof, FIG. 3 is a diagram depicting a screen to specify theprinting target printer, FIG. 4 is a block diagram of a proxy unit, andFIG. 5 is a block diagram of the print server thereof.

As FIG. 1 shows, clients 2-1 and 2-2, a proxy unit (gateway unit) 12,and network systems 3-1 and 3-2 are connected to the Internet 10. Inthis system, inside the firewall is defined as an “intranet”, andoutside the firewall is defined as an “extranet (Ex)”. And the printingmodel that circumvents the firewall in this system is called the “ExPM”(Extranet Printing Model).

The ExPM clients 2-1 and 2-2 are hosts on the extranet, which requestprinting to the later mentioned ExPM servers 31 and 33. The ExPM(Extranet Printing Model) servers 31 and 33 are printers on the intranetthat are protected by the firewalls 30 and 32 on the networks 3-1 and3-2, LANs for example.

The ExPM (Extranet Printing Model) proxy 12 is a proxy server thatreceives and converts a print job from the ExPM clients 2-1 and 2-2instead of the ExPM servers 30 and 33.

In this system, the printers 31 and 33 have their own mail accountsinstead of URLs. Since a mail account is unique and known to the publicon the Internet, the station of the extranet can specify the printers 31and 33 using a private IP (Internet Protocol) address.

“expp1@abc.com” in FIG. 1 is the public name of the printer 31 on theintranet 3-1. This system is characterized in that the printers (ExPMservers) 31 and 33 on the intranet appear to be normal IPP (InternetPrinting Protocol) servers using the ExPM proxy server 12. (Details willbe described later.) An address mapping method leading to this printeris specified by proxy server URL+ExPM server account (@converted to %).In the case of the example in FIG. 1, the address mapping method isspecified by “exppproxy1.comnet.com/exppl%abc.com”.

FIG. 2 shows the configuration of the ExPM client 2-1 or 2-2, and FIG. 3shows the printing specification screen. As FIG. 2 shows, the client 2-1or 2-2 is comprised of a display unit 20 and a processing unit 21. Theprocessing unit 21 is comprised of a CPU (processor) 22, a hard disk 23,a memory 24, and a network interface block 25.

The software deployed in the memory 24 is comprised of an I/O(Input/Output) driver 24-1, an OS (Operating System) 24-2, a printingtarget specification utility 24-5, and another application 24-6. In thisOS 24-2, an IPP/ExPP (Extranet Printing Protocol) client function 24-3,a protocol stack (TCP (Transmission Control Protocol)/IP (InternetProtocol), and Netware) 24-4 are embedded.

FIG. 3 is a diagram depicting a printing specification screen which isdisplayed on the display unit 20 by the printing target specificationutility 24-5. As FIG. 3 shows, in the printing specification screen, thenames of the ExPM servers 31 and 33 at the print destination, the nameof the ExPM proxy 12, and “Specification OK/Cancel” are specified.

In other words, the ExPM clients 2-1 and 2-2 primarily implement thefollowing functions by the printing target specification utility 24-5,the IPP/ExPM client function 24-3 and the protocol stack 24-4.

(1) Specifies the ExPM servers 31 and 33 at the print destination andthe ExPM proxy 12,

(2) Issues a printing command to the ExPM server account,

(3) Connects to the ExPM proxy 12 by IPP, acquires the status of theprinters 31 and 33, and transfers the print job, and

(4) Disconnects the ExPM proxy 12 after printing completes.

As the block diagram in FIG. 4 shows, the ExPM proxy 12 is comprised ofan IPP transmission/reception block 15, a protocol exchanger 16, an ExPPtransmission/reception block 17 and an ExPM server site 14. The IPPtransmission/reception block 15 is comprised of a packet header analysisblock and a packet header assembly block. The protocol exchanger 16 iscomprised of an encoder 18 for converting IPP to the later mentionedExPP (Extranet Printing Protocol), and a decoder 19 for converting ExPPto IPP.

In other words, the ExPM proxy 12 has the following major functions.

(1) Receives a connection request of the ExPM clients 2-1 and 2-2 or theExPM servers 31 and 33, and creates the ExPM server site (spool) 14.

(2) Converts the printer status sent from the ExPM servers 31 and 33 bysuch protocols as HTTP (Hyper Text Transfer Protocol)/FTP (File TransferProtocol) into IPP format, and returns it to the ExPM clients 2-1 and2-2 by IPP.

(3) Converts a job sent from the ExPM clients 2-1 and 2-2 by IPP intothe protocol (e.g. HTTP, FTP or other) of the ExPM servers 31 and 33,and transfers it to the ExPM servers 31 and 33.

(4) ExPM proxy 12 releases its support information to the public on theInternet as an ExPM description file to specify the communicationprotocol with the ExPM servers 31 and 33, and the ExPM servers 31 and 33access this file by HTTP and select the optimum protocol. This minimizessupport of the HTTP protocol for the ExPM proxy 12.

(5) Disconnects the session with the ExPM servers 31 and 33 whenprinting requests from all the clients have processed, and deletes thesite page.

As the block diagram in FIG. 5 shows, the ExPM server 31 is comprised ofan ExPP processing block 34, a spooler 35, a host I/O management block36, an interpreter 37 and a printing block 38. The ExPP processing block34 is further comprised of an IPP data processing block and anauthentication processing block. The printing block 38 is furthercomprised of a printing engine, such as an electro-photographicmechanism, and a printing control block.

This ExPM server 31 has the following major functions.

(1) Receives a request mail from the ExPM clients 2-1 and 2-2, or fromthe ExPM proxy 12, and connects to the specified ExPM proxy 12.

(2) Mirrors the self-status to the ExPM proxy 12 with such a protocol asHTTP/FTP.

(3) Acquires and prints the job which was transferred from the ExPMclients 2-1 and 2-2 to the ExPM proxy 12.

Although the ExPM server shown here has a printing block 38, thedefinition of the ExPM server (print server) 31 of the present inventionincludes an ExPM server having only the ExPP processing block 34 and thenetwork interface block 39, and an ExPM server which printing block isseparate.

The general printing flow will now be described with reference to FIG.1.

[1] The ExPM clients 2-1 and 2-2 specify the printing target printers 31and 33. As FIG. 3 shows, the ExPM server name and the ExPM proxy nameare specified by the ExPM clients 2-1 and 2-2.

[2] The ExPM client 2-1 sends the printing command mail to the targetprinter “HYPERLINK ‘mailto:exppl@abc.com’ exppl@abc.com” using SMTP.This mail includes the content of the ExPM proxy name. Then the ExPMclient 2-1 connects to the ExPM proxy 12 using IPP. The connected URL(referred to as the printer-URL in IPP protocol, see section 3.2 in RFC2566) is ipp://expp-proxy1.comnet.com/expp1%abc.com. Or the ExPM client2-1 connects to the ExPM proxy 12 using IPP, and sends a printingcommand to the target printer.

[3] The ExPM server 31 on the intranet receives the printing instructionfrom the client 2-1 or the proxy 12, and connects to the ExPM proxy 12.A new connection is not made if one already exists. The protocol forconnection has no particular restrictions (e.g. HTTP/FTP). Here HTTP isused as an example for description.

In the case of HTTP, the connection destination is“http://expp-proxy1.comnet.com/exppl%abc.com”.

[4] The ExPM proxy 12, which is connected with the server 31, preparesthe site page (spool) 14 of “expp1%abc.com”. (A new site page is notcreated if one already exists.)

[5] The ExPM client 2-1 and the ExPM proxy 12 communicate by IPP.

[6] After connection between the ExPM server 31 and the ExPM proxy 12 isestablished, the ExPM server 31 starts transferring the status of theprinter to the ExPM proxy 12. The ExPM proxy 12 notifies the status ofthe printer to the ExPM client 2-1 by IPP.

[7] The ExPM client 2-1 checks the status of the printer, and transfersthe print job to the ExPM proxy 12 by IPP.

[8] In the same way, the ExPM proxy 12 converts the received job intoHTTP, for example, and transfers it to the printer 31.

Repeating [6], [7] and [8], printing is performed while monitoring thestatus of the printer and the job (e.g. jam, printing progress). Also inaddition to monitoring the status, the user can also control the printerand the job via the ExPM proxy 12 (e.g. printer ON/OFF line, jobcancellation).

[9] After printing completes, the printer (ExPM server) 31 and the ExPMclient 2-1 disconnect the session with the ExPM proxy 12, and the ExPMproxy 12 disconnects the session with the server 31 when disconnectionof the “expp1%abc.com” site from all the clients is detected, anddeletes the “expp1%abc.com” site.

In this way, printing out to the printer 31 on an intranet can beimplemented from the client 2-1 on an extranet.

[Internet Printing Method]

The ExPP (Extranet Printing Protocol) protocol used for communicationbetween the ExPM proxy and the ExPM server will now be described withreference to FIG. 6 to FIG. 12.

As the diagram depicting the format of the ExPP packet in FIG. 7 shows,this ExPP protocol extends the IPP packet by adding a tag foridentifying the client to the IPP packet. For example, as FIG. 7 shows,the “Job Description Attributes” of the IPP packet 80 are extended, andthe client attribute 81 of the “job-client-addr (client address) and“job-client-port (port number)” is added to specify the client. In FIG.7, the field in the shaded portion is the extended part of ExPP.

This protocol performs communication which overlays such protocols asHTTP and FTP, as shown in FIG. 6. In other words, in the HTTP protocol,the communication packet (IPP packet) between the client and the proxyis comprised of the Ethernet header 70 (see FIG. 9), the IP header 71(see FIG. 10), the TCP header 72 (see FIG. 11), the HTTP header 73 (seeFIG. 12) and the IPP operation/attribute 74.

The proxy 12 acquires the address of the transmission source (ExPMclient) from the Source Address of the IP header in FIG. 10, and judgesthe port numbers of the transmission source (ExPM client) andtransmission destination (ExPM proxy) from the Source Port and theDestination Port of the TCP (Transmission Control Protocol) header inFIG. 11. Also the site page (logical printer) can be specified by therequest URL of the connection destination included in the request lineof the HTTP header in FIG. 12.

The proxy 12 converts the acquired data into the communication format inFIG. 13 and transmits it to the server 31. In other words, in HTTPprotocol, the communication format is comprised of the Ethernet header70 (see FIG. 9), the IP header 71 (see FIG. 10), the TCP header 72 (seeFIG. 11), the HTTP header 73 (see FIG. 12), and the ExPP packet 75 asshown in FIG. 13, and this ExPP packet 75 is a packet where the “JobDescription Attributes” of the IPP packet 80 have been extended, and the“job-client-addr/job-client-port” tag has been added, as shown in FIG.7.

In this ExPP protocol example, a method to specify the client by“job-client-addr/job-client-port” is used to provide more information tothe server 31. In TCP/IP, where information on the client can beacquired from the local port using the getpeername ( ) system call, the“job-proxy-socket (local socket number which is connected to theclient)” can be used as a tag instead of“job-client-addr/job-client-port” tag.

Instead of the Job Description Attributes, a client identificationattribute can be added to the other attribute groups of IPP. Also for amethod of adding client identification information outside the IPPpacket and packaging this information together with the IPP packet, asshown in FIG. 8, such a protocol as HTTP can also be used instead ofadding an attribute to IPP.

The proxy 12 converts this communication format into the communicationformat in FIG. 13, and transmits it to the server 31. In other words, inHTTP format, the communication format is comprised of the Ethernetheader 70 (see FIG. 9), the IP header 71 (see FIG. 10), the TCP header72 (see FIG. 11), the HTTP header 73 (see FIG. 12), and the ExPP packet75, as shown in FIG. 13, and this ExPP packet 75 is a packet where the“Job Description Attributes” of the IPP packet have been extended, andthe ujob-client-addr/job-client-port” tag has been added.

The communication operation of ExPM will now be described with referenceto FIG. 1. In FIG. 1, the packet that flows in the pipe 40 between theproxy 12 and the ExPM server 31 is an ExPP packet. For convenience ofexplanation, the client address and the port number are indicated asoutside the IPP packet.

FIG. 14 is a table explaining the roles of the client, the proxy, andthe server of the present invention, and FIG. 15 is a communicationprocessing flow chart of ExPP. The communication processing of the ExPPproxy 12 and the ExPP server 31 will now be described with reference toFIG. 15.

(S1) The pipe 40 is established between the proxy 12 and the server 31.The timing to establish the pipe 40 is one of the following, which isdescribed later.

a. After mail is transmitted from the client 2-1 to the server 31 (firstembodiment),

b. after mail is transmitted by the proxy 12 instead of by the client2-1 to the server 31 (second embodiment),

c. automatically connected when the server starts up (third embodiment).

In other words, the proxy 12 and the server 31 receive a printingrequest from the client 2-1 and the pipe 40 is established, and at thesame time, the proxy 12 creates the server site 14 of the ExPM server 31connected by the pipe 40. By this, the proxy 12 enters the state ofwaiting reception from the server 31. At this time, this server site 14appears to be one IPP print server from the client 2-1 point of view.The client 2-1 is a normal IPP client, and the client 2-1 and the proxy12 are connected by a normal IPP connection.

(S2) When a TCP connection is established between the ExPM proxy 12 andthe ExPM server 31, the firewall 30 can be circumvented by issuing aconnection request from the ExPM server 31. At this connection, the ExPMserver 31 plays the role of a client, and the proxy 12 plays the role ofa server.

(S3) Once the pipe 40 is established, the proxy 12 relays the servicerequest from the client 2-1 to the ExPM server 31. At this time, theprevious roles are reversed, where the proxy 12 now plays the role of aclient, and the ExPM server 31 plays the role of a server. FIG. 14 showsthis change of roles. In other words, the roles do not change betweenthe client and the proxy, but between the proxy and the ExPM server,where the roles change at connection and during service.

(S4) The server 31 processes the received data and commands, and returnsthe processing result or the status to the proxy 12. The proxy 12 relaysthe processing result to the client 2-1. This process is repeated.

By issuing a connection request from the ExPM server 31 in this way, thefirewall 30 can be circumvented so as to connect the inside of thefirewall 30 to the outside.

Also in the ExPM proxy 12, the above mentioned encoder 18 of theexchanger 16 in FIG. 4 converts the IPP packet received from the client2-1 into an ExPP packet (job-client-addr/job-client-port is added), andtransfers the ExPP packet to the server 31.

In the ExPM packet that was returned from the server 31 to the ExPMproxy 12, on the other hand, client identification information(job-client-addr/job-client-port) enters as is. The decoder 19 of theExPM proxy 12 extracts the “client IP address” and the “port number” tospecify the link with the client 2-1, and returns a response to theclient 2-1 by using IPP.

In this way, the proxy 12 performs protocol conversion between IPP andExPP. Therefore the client 2-1 can control the printing of the printer31 by IPP circumventing the firewall 30.

[First Embodiment]

FIG. 16 is a diagram depicting the ExPM of the first embodiment of thepresent invention, and FIG. 17 is a time chart thereof. This embodimentis an example of a model (basic model) where the SMTP client isinstalled on the ExPM client 2-1.

In this example, the printer (print server) 31 has its own mail accountinstead of a URL. The mail account is unique and known to the public onthe Internet, so the station 2-1 of the extranet can specify the printer31 using a private IP.

As described above, when “HYPERLINK

‘mailto:exppl@abc.com’ expp1@abc.com” is the public name of the printer31 on the intranet, the printer (ExPM server) 31 on the intranet appearsto be a normal IPP server using the ExPM proxy server 12. In otherwords, the server site “exppl.%abc.com” is started in the spool 14. Thisaddress mapping method is specified as follows.

Proxy server URL+ExPM server account (@ is converted to %)

In this case, the address mapping method is specified by“exppproxyl.comnet.com/exppl%abc.com”.

The printing flow will now be described with reference to FIG. 16 andFIG. 17.

[1] The user selects a printer to be used for printing. In other words,the ExPM client 2-1 specifies the printing target printer. As FIG. 3shows, the ExPM server name and the ExPM proxy name are specified on thescreen of the ExPM client 2-1.

[2] The ExPM client 2-1 sends a printing command mail to the targetprinter 31 “HYPERLINK ‘mailto:exppl@abc.com’ exppl@abc.com” using SMTP(Simple Mail Transfer Protocol). Mail includes the content of the ExPMproxy name.

[3] The ExPM client 2-1 connects to the ExPM proxy 12 using IPP. Theconnected URL (referred to as the printer-uri in IPP protocol, seesection 3.2 of RFC 2566) is“ipp://expp-proxyl.comnet.com/exppl%abc.com”.

[4] The ExPM server 31 on the intranet receives the printing commandmail from the client 2-1, and connects to the ExPM proxy 12. A newconnection is not performed if one already exists. The protocol forconnection has no particular restrictions (e.g. HTTP/FTP). Here HTTP isused as an example for description. In the case of HTTP, the connectiondestination is “HYPERLINK ‘http://expp-proxyl.comnet.com/exppl%abc.com’http://expp-proxy1.comnet.com/exppl%abc.com”.

[5] The ExPM proxy 12, which is connected with the server 31, preparesthe site page (spool) 14 of “exppl%abc.com”. (A new site page is notcreated if one already exists.)

[6] After connection between the ExPM server 31 and the ExPM proxy 12 isestablished, the ExPM server starts transferring the status of theprinter 31 to the ExPM proxy 12.

[7] The ExPM proxy 12 notifies the status of the printer to the ExPMclient 2-1 by IPP.

[8] The ExPM client 2-1 checks the status of the printer 31 andtransfers the print job to the ExPM proxy 12 by IPP.

[9] In the same way, the ExPM proxy 12 converts the received job into aprotocol which can circumvent the firewall 30 (e.g. HTTP), and transfersit to the printer 31.

Repeating [6], [7], [8] and [9], printing is performed while monitoringthe status of the printer and the job (e.g. jam, printing progress). Inaddition to status monitoring, the user can also control the printer andthe job via the ExPM proxy 12 (e.g. printer ON/OFF line, jobcancellation).

[10] After printing completes, the printer 31 and the ExPM client 2-1disconnects the session with the ExPM proxy 12, and the ExPM proxy 12disconnects the session with the server 31 when disconnection with the“exppl%abc.com” site from all the clients is detected, and deletes the“exppl%abc.com” site.

In this way, a print out to the printer 31 on an intranet can beimplemented from the client 2-1 on an extranet.

FIG. 18 is a processing flow chart of the client for the above mentionedprinting processing.

(S10) As FIG. 3 shows, the user specifies the ExPM server name and theExPM proxy name on the screen of the ExPM client 2-1.

(S11) The ExPM client 2-1 sends a printing command mail to the targetprinter 31 “HYPERLINK ‘mailto:exppl@abc.com’ exppl@abc.com” using SMTP(Simple Mail Transfer Protocol). Mail includes the content of the ExPMproxy name.

(S12) The ExPM client 2-1 connects to the ExPM proxy 12 using IPP. Theconnected URL (referred to as the printer-uri in IPP protocol, seesection 3.2 of RFC 2566) is“ipp://expp-proxyl.comnet.com/exppl%abc.com”.

(S13) The ExPM client 2-1 gets the status of the printer 31 acquiredwith the ExPM proxy 12 by IPP.

(S14) The ExPM client 2-1 checks the status of the printer 31. In otherwords, the ExPM client 2-1 judges whether the printer status is receivedbefore time out, and advances to step S16 if time out occurs. When theprinter status is received before time out, the ExPM client 2-1 judgeswhether the printer is normal based on the received content, andadvances to step S16 if abnormal.

(S15) When the printer 31 is normal, the ExPM client 2-1 transfers thecommand and the print job to the ExPM proxy 12 by IPP. Also, the ExPMclient 2-1 issues the print job while monitoring the status of theprinter and the job (e.g. jam, printing progress) from the proxy 12.

(S16) After printing completes, the ExPM client 2-1 disconnects thesession with the ExPM proxy 12, and completes print processing.

The print processing of the proxy 12 will now be described withreference to FIG. 19 and FIG. 20.

(S20) When the proxy 12 receives a connection request (see FIG. 6) fromthe ExPM client 2-1 in connection request wait status, the proxy 12acquires the client address from the IP header and acquires the clientport and the local port from the TCP header. Also, the proxy 12specifies the site page URL from the HTTP header.

(S21) The proxy 12 judges whether the correspondence relationship ofthis connection is registered in the port correspondence table. Whenregistered, the proxy 12 advances to step S22. When not registered, theproxy 12 registers the local socket number, the client address, and theclient port number to the port correspondence table. In this way, theclient 2-1 is connected to the ExPM proxy 12.

(S22) Then the proxy 12 judges whether the connection pipe 40 with theExPM server 31 already exists. When the connection pipe 40 alreadyexists, the proxy 12 advances to step S24.

(S23) When the connection pipe 40 does not exist, the proxy 12 waits fora connection request from the ExPM server 31 until time out. When timeout occurs, the proxy 12 notifies this to the client 2-1, disconnectsthe session with the client 2-1, and advances to step S29. When aconnection request is received from the server 31 before time out, theproxy 12 creates the connection pipe 40 with the ExPM server 31, andcreates a site page.

(S24) The proxy 12 increments the client counter of this site page “+1”.

(S25) After the connection between the ExPM server 31 and the ExPM proxy12 has established, the proxy 12 receives the command of the client 2-1,transfers the command to the ExPM server 31, receives the status of theExPM server 31, and then notifies the printer status to the ExPM client2-1 by IPP. Also, the proxy 12 receives the job of the client 2-1, andtransfers the job to the ExPM server 31. This transfer processing willbe described later with reference to FIG. 21 and FIG. 22.

(S26) After printing completes, the ExPM client 2-1 disconnects thesession with the ExPM proxy 12, so the proxy 12 judges whether theclient disconnected the session, and returns to step S25 if notdisconnected.

(S27) When the client disconnects the session, the proxy 12 decrementsthe client counter “−1”.

(S28) The proxy 12 judges whether the client counter returned to “0”,and checks whether the session with this server site is disconnectedfrom all the clients. When the client counter did not return to “0”, theproxy 12 advances to step S29. When the client counter returned to “0”,the proxy 12 disconnects the session with the server 31, and deletes thesite page.

(S29) The proxy 12 completes processing and returns to wait status.

The reception processing from the client in Step S25 will now bedescribed with reference to FIG. 21.

(S30) The proxy 12 waits for reception from the client.

(S31) When data from the client is received, the proxy 12 acquires theclient address from the IP header, and acquires the client port and thelocal port from the TCP header. Also, the proxy 12 specifies the sitepage URL from the HTTP header.

(S32) The proxy 12 replaces the site page URL of the IPP packet with theExPM server URL, adds “job-client-addr” and “job-client-port” to the IPPpacket after replacement to create an ExPP packet.

(S33) The proxy 12 specifies a socket number connected with the ExPMserver 31 from the site page, and sends data.

Reception processing from the server in step S25 will now be describedwith reference to FIG. 22.

(S40) The proxy 12 waits for reception from the server 31.

(S41) When data from the server is received, the proxy 12 specifies thesite page from the reception socket number, and acquires the clientaddress and the client port number from “job-client-addr” and“job-client-port” of the ExPP packet.

(S42) The proxy 12 replaces the ExPM server URL of the IPP packet withthe site page URL so as to create the HTTP response.

(S43) The proxy 12 specifies the local socket number from the clientaddress and the client port number recorded in the site page, andreturns the execution result to the client.

Print processing of the print server 31 will now be described withreference to FIG. 23 and FIG. 24.

(S50) When the print server 31 receives a printing command mail from theExPM client 2-1 in printing request wait status, the print server 31authenticates the client. For this authentication, a knownauthentication method, such as password and electronic signature, can beused.

(S51) When the authentication result judges the client as invalid, theprint server 31 advances to step S56.

(S52) When the print server 31 judges the client as valid, the printserver 31 judges whether the print server 31 has already been connectedwith the specified proxy. When already connected, the print server 31advances to step S53. When not connected, the print server 31 connectswith the ExPM proxy 12.

(S53) After connection between the ExPM server 31 and the ExPM proxy 12is established, the print server 31 receives a command from the ExPMproxy 12, sends the status of the ExPM server 31 to the ExPM proxy 12,receives the job from the ExPM proxy 12, and prints this job. Thisprinting processing will be described later with reference to FIG. 24.

(S54) The print server 31 judges whether printing completed, and returnsto step S53 if printing is not completed.

(S55) When printing is completed, the print server 31 judges whether adisconnection request was received from the ExPM proxy 12, and advancesto step S56 when a disconnection request was not received. When adisconnection request was received, the print server 31 disconnects thesession with the ExPM proxy 12.

(S56) The print server 31 completes processing and returns to waitstatus.

The reception processing from the proxy 12 in step S53 will now bedescribed with reference to FIG. 24.

(S60) When the print server 31 receives data from the proxy 12, theprint server 31 acquires the client identification information(job-client-addr and job-client-port) from the ExPP packet and stores itinternally.

(S61) The print server 31 transfers the data to the IPP data processingblock (see FIG. 5) of the ExPP processing block 34, and executes theinstructed processing (print processing, job operation, job statusmonitoring, unit status monitoring).

(S62) The print server 31 waits for the completion of the instructedprocessing.

(S63) When processing completes, the print server 31 includes theinternally stored client identification information (job-client-addr andjob-client-port) in the IPP packet to be returned so as to create anExPP packet, and returns the response to the proxy 12.

The connection method between the proxy 12 and the print server 31 willnow be described using HTTP as an example.

(a) No Blocking System (Regular Polling)

In this method, the ExPM server 31 polls the site page at apredetermined interval once the ExPM server 31 receives the printingrequest notice (first embodiment: from the client, second embodiment:from the proxy), and data, if any, is received and processed. Totransfer the status data to the client, the ExPM server 31 connects withthe site page again and sends the data.

(b) Blocking System (Immediate Reaction)

FIG. 25 is a processing flow chart of the blocking system between theproxy 12 and the server 31.

After the client 2-1 connects with the proxy 12, the proxy 12 generatesthe sight page (S70). When the ExPM server 31 receives the printingrequest notice (first embodiment: from the client, second embodiment:from the proxy), the ExPM server 31 issues the POST (or GET) request ofHTTP to the proxy, and requests the content of the site page of theproxy (S81).

When the proxy 12 receives the request from the ExPM server 31, theproxy 12 acquires the ExPP packet, and transfers the status informationfrom the ExPM server 31 to the ExPM client 2-1 (S72). Then the proxy 12checks whether a job request or a status inquiry was received from theExPM client, and if not received from any client, the ExPM proxy 12simply returns a CONTINUE response to continue the connection (S73).

When a job request or status inquiry was received from a client, theproxy 12 returns a response to the ExPM server 31 (S74). The ExPM server31 receives the data and collects the printing processing and the statusdata (S82). When a completion notice is not received from the proxy 12,the ExPM server 31 issues the POST (GET) request, and enters data waitstatus again (S83). When printing requests from all the clients areprocessed, the proxy 12 notifies this completion to the ExPM server, anddeletes the site page (S75).

FIG. 26 is a diagram depicting a variant form of the first embodiment ofthe present invention, and FIG. 27 is a timing chart thereof. In thisvariant form, the steps [4] and [5] execution sequence is changed, andthere are no other changes in a first embodiment in FIG. 16.

[Second Embodiment]

FIG. 28 is a diagram depicting the ExPM of the second embodiment of thepresent invention, FIG. 29 is a printer specification screen thereof,and FIG. 30 is a time chart thereof. This example is a model where theSMTP client is installed on the ExPM proxy 12 (extension model 1).

As FIG. 28 shows, the difference between this extension model 1 and thebasic model in FIG. 16 is that the SMTP client is not the ExPM client2-1, but the ExPM proxy 12 is a transmission source of SMTP. Comparedwith the basic model in FIG. 16, the merits are as follows.

(1) An SMTP client is not needed for the ExPM client 2-1. A client caneasily be installed.

(2) The ExPM client 2-1 and the ExPM proxy 12 are connected only by apure IPP, so the standard IPP client can be used as the ExPM client 2-1,and development of an ExPM client is unnecessary. Development of theproxy alone is sufficient.

The demerit is that the ExPM proxy 12 must support SMTP, and installingauthentication functions is complex.

Authentication functions can easily be implemented in the case of thebasic model in FIG. 16 if the client and the server agree on theauthentication method to be used, since printing command mail isdirectly sent to the ExPM server 31. In the case of the extension model,on the other hand, the proxy 12 relays the command, so theauthentication method must be determined between the client and theproxy and between the proxy and the server respectively.

In other words, after the proxy decodes the authentication request bythe authentication rule with the client, data is encrypted by theauthentication rule with the server, and is sent. So, clientinformation, that should be known by only the server, will be known to athird party proxy, and the degree of security drops. Also if the proxythat is installed in the public area is attacked by a hacker, theinformation of the client will be leaked to questionable individuals.

The flow of printing processing will now be described with reference toFIG. 28 to FIG. 30.

[1] The user selects a printer to be used for printing. In other words,the ExPM client 2-1 specifies the printing target printer. As FIG. 29shows, the ExPM server name and the ExPM proxy name are specified on thescreen of the ExPM client 2-1.

[2] The ExPM client 2-1 connects to the ExPM proxy 12 using IPP. Theconnection URL is “ipp://expp-proxyl.comnet.com/exppl%abc.com”.

[3] The ExPM proxy 12 sends the printing command mail to the targetprinter exppl@abc.com using SMTP.

[4] The ExPM server 31 on the intranet receives the printing commandmail from the ExPM proxy 12, and connects to the ExPM proxy 12. A newconnection is not made if one already exists. Protocol for connectionhas no particular restrictions (e.g. HTTP/FTP). Here HTTP is used as anexample for description.

In the case of HTTP, the connection destination ishttp://expp-proxyl.comnet.com/exppl%abc.com.

[5] The ExPM proxy 12, which is connected with the server 31, preparesthe site page (spool) 14 of “exppl%abc.com”. (A new site page is notcreated if one already exists).

[6] After connection between the ExPM server 31 and the ExPM proxy 12 isestablished, the ExPM server 31 starts transferring the status of theprinter 31 to the ExPM proxy 12.

[7] The ExPM proxy 12 notifies the status of the printer to the ExPMclient 2-1 by IPP.

[8] The ExPM client 2-1 checks the status of the printer, and transfersthe print job to the ExPM proxy 12 by IPP.

[9] In the same way, the ExPM proxy 12 converts the received job into aprotocol which can circumvent the firewall (e.g. HTTP), and transfers itto the printer 31.

[10] After printing completes, the printer 31 and the ExPM client 2-1disconnect the session with the ExPM proxy 12, and the ExPM proxy 12disconnects the session with the server 31 when the disconnection withthe exppl@abc.com site from all the clients is detected, and deletes the“exppl%abc.com” site.

In this way, print out to a printer on an intranet can be implementedfrom a client on an extranet.

FIG. 31 is a diagram depicting a variant form of the second embodimentof the present invention, and FIG. 32 is a time chart thereof. In thisvariant form, the [3], [4] and [5] sequence is changed, and there are noother changes in a second embodiment in FIG. 28.

[Third Embodiment]

FIG. 33 is a diagram depicting the ExPM of the third embodiment of thepresent invention, and FIG. 34 is a diagram depicting a printing setupscreen thereof. In the embodiment of FIG. 33, the ExPM model (called theextension model 2) is a model for implementing printing whichcircumvents the firewall in an environment where electronic mail is notequipped.

In this model, the TCP connection, which constantly connects the ExPMserver 31 and the ExPM proxy 12, is provided in order to make theelectronic mail function unnecessary and to simplify the configuration.In other words, the ExPM client 2-1 and the ExPM proxy 12 need notinstall an SMTP client, an SMTP server outside the firewall fortransmitting mail is unnecessary, the ExPM server 31 need not install amail reception client, such as POP3/IMAP, the mail server inside thefirewall need not be used, and a mail account need not be assigned tothe ExPM server 31.

In this system, the name for identifying a printer can simply be aunique name on the Internet, unlike the basic model in FIG. 16 and theextension model 1 in FIG. 28. One solution is using the DNS (Domain NameServer) name of the printer. As FIG. 33 shows, it is assumed that theDNS domain name of the site, protected by the firewall 30, is “abc.com”.As long as an Internet connection is maintained, the uniqueness of theDNS domain name is guaranteed.

When the printer DNS name on the site is “exppl.abc.com”, addressmapping can be executed as follows.

The proxy server URL+ExPM DNS name is specified. In the case of theabove example, the public name of the ExPM server 31 on the Internet is

“exppproxyl.comnet.com/exppl.abc.com”.

The system configuration and functions in FIG. 33 will now be described.The ExPM client 2-1 has the following major functions.

(1) Specifies the print destination.

(2) Connects the ExPM proxy 12 by IPP protocol, acquires the status ofthe printer 31, and transfers the print job.

(3) Disconnects the session with the ExPM proxy 12 after printingcompletes.

(4) Searches for a printer on the ExPM proxy 12, as FIG. 34 shows, anddisplays the printer (spool) list as an optional function.

The ExPM proxy 12 has the following major functions.

(1) Waits for a connection request from the ExPM server 31, and createsa corresponding ExPM server site (spool) 14 if a connection request isreceived.

(2) Waits for a connection request from the ExPM client 2-1, links withthe ExPM server site 14, and establishes a path between the ExPM client2-1 and the ExPM server 31 if a connection request is received.

(3) Converts the printer status sent from the ExPM server 31 by such aprotocol as HTTP/FTP into IPP format, and returns it to the ExPM client2-1 by IPP.

(4) Converts the job sent from the ExPM client 2-1 by IPP into theprotocol (e.g. HTTP/FTP) of the ExPM server 31, and transfers it to theExPM server 31.

(5) The ExPM proxy 12 releases its support information to the public onthe Internet as an ExPM description file to specify the communicationprotocol with the ExPM server 31, the ExPM server 31 acquires this fileby HTTP, and selects an optimum protocol.

(6) Monitors the pipe with the connected ExPM server 31, where theserver site is deleted when the ExPM server 31 is shutdown.

(7) Regularly polls the status of the ExPM server 31 if necessary, andmirrors the status to the server site.

The ExPM server 31 has the following major functions.

(1) Automatically connects to the ExPM proxy on the Internet. For theprotocol connection, such a TCP protocol as HTTP/FTP is used accordingto the self-environment.

(2) Mirrors the self-status to the ExPM proxy by such a protocol asHTTP/FTP.

(3) Acquires and prints the job which was transferred from the ExPMclient 2-1 to the ExPM proxy 12.

The flow of print processing will now be described with reference toFIG. 33.

[1] When a printer is started up or when a clear instruction isreceived, the ExPM server 31 establishes a TCP connection to thespecified ExPM proxy 12. A TCP connection here refers to a TCPconnection which can circumvent the firewall of HTTP/FTP.

[2] The ExPM proxy 12, which is connected with the ExPM server 31,prepares the server site (spool) 14 of the server DNS name“exppl.abc.com”. The protocol for connection has no particularrestrictions (e.g. HTTP/FTP). Here HTTP is used as an example fordescription. In the case of HTTP, the connection destination is“http://expp-proxyl.comnet.com/exppl.abc.com”.

[3] A connection is established if necessary, and such information asthe capability and the status of the ExPM server 31 is transferred tothe ExPM proxy 12.

[4] When the user prints, the ExPM proxy specified by the ExPM client2-1 and the server site created in the step [2] (Internet public name ofthe ExPM server) are specified. The GUI configuration is shown in FIG.34. See the diagram below.

In FIG. 34, the ExPM proxy name is specified, then all ExPM servers onthe proxy are listed. To generate this list the ExPM client 2-1 acquiresit from a specified ExPM proxy 12 using IPP or another protocol.

[5] Based on the information specified in [4], the ExPM client 2-1connects to the ExPM proxy 12 using IPP. The connection URL is“ipp://expp-proxyl.comnet.com/exppl.abc.com”.

[6] The ExPM proxy 12 notifies the status of the printer to the ExPMclient 2-1 by IPP.

[7] The ExPM client 2-1 checks the status of the printer, and transfersthe print job to the ExPM proxy 12 by IPP.

[8] In the same way, the ExPM proxy 12 converts the received job to aprotocol which can circumvent the firewall (e.g. HTTP), and transfers itto the printer 31.

In this way, a fixed pipe is constantly set between the proxy 12 and theserver 31, and all connections are performed through this pipe so that aclient outside the firewall can use and control a printer inside thefirewall using IPP.

Also in this example, the roles of a server and a client of the proxyand the print server are reversed, as described with reference to FIG.14 and FIG. 15. The blocking method in FIG. 25 is used as thecommunication format.

[Other Embodiments]

FIG. 35 and FIG. 36 are diagrams depicting forms of using the ExPM ofthe present invention. FIG. 35 shows an example when an individual on abusiness trip or an operator working at home prints a created documenton the printer 31 located at the company operating the IPP client 2-1and 2-1 thereof. The provider installs the ExPM proxy 12. In this way,the provider can implement such benefits as increasing the number ofsubscribers, collecting ExPM service charges, providing ExPM services tousers for a fee, and collecting services charges from the company undercontract by preventing the connection of printers other than printers ofthe company.

FIG. 36 is an example when a FAX is sent via the Internet 10 withoutusing an expensive and slow telephone line, where the clients 2-1 and2-2 are comprised of a FAX (or an original reader). Combining a scannerand a printer implements an Internet FAX function. Also in this case,the provider installs the proxy 12, and a similar expansion benefit canbe expected.

Connection time out is set on the printing setup screen of theembodiments in FIG. 3 and FIG. 29. Here the ExPM client 2-1 sends acommand mail to the ExPM server 31 using SMTP. If this command mailcannot be received for any reason (e.g. disconnected line, ExPM serversite mail server is down), the ExPM client 2-1 sends a cancellation mailto the ExPM server 31 when a time out, which was set, occurs, in orderto disconnect the session with the ExPM proxy 12. This is the same aswhen the ExPM proxy 12 sends a printing command.

The communication protocol between the ExPM server 31 and the ExPM proxy12 has no particular restrictions. Any protocol which can transfer therouter information of an ExPM server site and which an ExPM proxy 12supports is acceptable. Normally HTTP and FTP are preferred. When an IPPclient is installed on the ExPM server 31, IPP can be used by extendingthe command set of IPP.

The ExPM proxy 12 need not be a standalone server, but may be installedon a conventional proxy server as one service. In the same way, theprinting command mail of the basic model and the extension model 1 usesthe SMTP of the TCP/IP world, described here as an example. There isalso another message transfer service (e.g. MHS described in the X.400series of ITU-T recommendations).

The present invention presented three models (embodiments). Therespective merits/demerits will be summarized below.

Basic Model (SMTP Client is Installed on the ExPM Client)

Merits

(1) The ExPM proxy can be easily installed by transmitting request mailfrom the ExPM client, and installing authentication functions isparticularly easy.

(2) Since this is an event driven model where printing is notified bymail, constant connection of a printer and an ExPM proxy is unnecessary.

Demerits

(1) Installation is complicated since an ExPM client must support themail transmission protocol, and the ExPM server must support the mailreception protocol.

(2) A mail server must be prepared at the sites of the client/serversince mails are exchanged.

(3) A client must support the mail transmission protocol (e.g. SMTP), soa conventional IPP client cannot be used, and a dedicated client must becreated.

(4) A user must know the account of the ExPM client in advance.

Extension Model 1 (SMTP Client is Installed on the ExPM Proxy)

Merits

(1) This model can be supported by a standard IPP since it is sufficientfor the ExPM client to support only IPP.

(2) Since this is an event driven model where printing is notified bymail, constant connection of a printer and an ExPM proxy is unnecessary.

Demerits

(1) Installation is complicated since an ExPM proxy must support themail transmission protocol, and the ExPM server must support the mailreception protocol.

(2) A mail server must be prepared at the sites of the proxy/serversince mail is exchanged.

(3) A user must know the account of the ExPM client in advance.

Extension Model 2 (ExPM Server Active Connection Model)

Merits

(1) A mail function is unnecessary, and each component can be easilyinstalled.

(2) There is no dependence on a mail server.

(3) Compatible with a standard IPP client.

(4) Since an ExPM server and an ExPM proxy are constantly connected, anExPM client can acquire information on an ExPM server via an ExPM proxy.Therefore various search/inquiry functions supported by IPP can be used.

(5) Response is good since there are no delays with mail transfers.

Demerits

(1) Not suitable for a dial-up network since this model requires aconstant connection.

(2) The resources of a proxy are consumed since an ExPM server is alwaysconnected to an ExPM proxy even when not used.

The present invention was described with the embodiments, but variousmodifications are possible within the scope of the present invention,and these modifications are not excluded from the technical scope of thepresent invention.

According to this invention, for a print server which cannot circumventa firewall by Internet Printing Protocol (IPP), a proxy unit which cancommunicate by IPP is installed, and the server site of the print serveris opened on the proxy unit, therefore the client regards the printserver as an IPP server opened on the Internet, so as to exchangeprinting service requests and responses.

Also the proxy unit performs gateway conversion of IPP into anotherprotocol, so the client can print out to a print server circumventing afirewall.

1. An Internet printing method comprising: providing a proxy unit on theInternet; opening a server site of a print server according to a requestfrom a client and/or the print server, the server site being opened inthe proxy unit; accessing the server site by the client; and convertinga protocol into a protocol which allows circumventing a firewall of theprint server, and transferring a printing service request from theclient to the print server, wherein the firewall is provided between theprint server and the proxy unit.
 2. The Internet printing methodaccording to claim 1, further comprising: returning an execution resultof the printer server for the printing service request to the proxyunit, and returning the execution result to the client from the proxyunit using the Internet Printing Protocol.
 3. The Internet printingmethod according to claim 1, further comprising: connecting the proxyunit and the print server according to the connection request from theprint server.
 4. The Internet printing method according to claim 3,wherein the proxy unit plays the role of a server and the print serverplays a role of a client when the proxy unit and the print server areconnected, and the proxy unit plays a role of a client and the printserver plays the role of a server when the printing service is requestedafter the connection.
 5. The Internet printing method according to claim1, further comprising: transmitting a printing command from the clientto the print server using a protocol which can circumvent the firewall;and connecting the proxy unit and the print server according to theconnection request from the print server corresponding to the printingcommand.
 6. The Internet printing method according to claim 1, furthercomprising: a step of transmitting a printing command from the client tothe proxy unit using the Internet Printing Protocol; transferring theprinting command from the proxy unit to the print server using aprotocol which can circumvent the firewall; and connecting the proxyunit and the print server according to the connection request from theprint server corresponding to the transferred printing command.
 7. TheInternet printing method according to claim 1, further comprising:constantly connecting the proxy unit and the print server according tothe connection request from the print server.
 8. The Internet printingmethod according to claim 1, wherein the user accesses the server siteby the Internet Printing Protocol, the Internet Printing Protocol isconverted to a protocol which allows circumventing the firewall of theprint server.
 9. The Internet printing method according to claim 1,wherein the protocol which does not allow circumventing a firewall isconverted to the protocol which allows circumventing the firewall of theprint server at the proxy unit.
 10. An Internet printing systemcomprising: a client that communicates at least by using the InternetPrinting Protocol; a print server that is protected by a firewall on theInternet and for executing a printing service request; and a proxy unitthat opens a server site of the print server according to a request fromthe client and/or the print server, converts the Internet PrintingProtocol used by the client for sending the printing service requestinto a protocol which allows circumventing the firewall of the printserver at the access of the client to the server site, and transfers therequest to the print server, wherein the firewall is provided betweenthe print server and the proxy unit.
 11. The Internet printing systemaccording to claim 10, wherein the print server returns the executionresult for the printing service request to the proxy unit and the proxyunit returns the execution result to the client using the InternetPrinting Protocol.
 12. The Internet printing system according to claim10, wherein the proxy unit is connected to the print server according tothe connection request from the print server.
 13. The Internet printingsystem according to claim 12, wherein the proxy unit plays a role of aserver and the print server plays a role of a client when the proxy unitand the print server are connected, and the proxy unit plays a role of aclient and the print server plays a role of a server when the printingservice is requested after the connection.
 14. The Internet printingsystem according to claim 10, wherein the client transmits a printingcommand to the print server using a protocol which can circumvent thefirewall, and the proxy unit connects with the print server according tothe connection request from the print server corresponding to theprinting command.
 15. The Internet printing system according to claim10, wherein the client transmits a printing command to the proxy unitusing the Internet Printing Protocol, and the proxy unit transfers theprinting command to the print server using a protocol which cancircumvent the firewall, and connects with the print server according tothe connection request from the print server corresponding to thetransferred printing command.
 16. The Internet printing system accordingto claim 10, wherein the proxy unit is constantly connected with theprint server according to the connection request from the print server.17. A proxy unit comprising: a server site of a print server to beopened according to a request from a client and/or the print server; andan exchanger that converts a protocol used by the client for sending aprinting service request into a protocol which allows circumventing afirewall of the print server at an access of the client to the serversite, and transfers the request to the print server, wherein thefirewall is provided between the print server and the proxy unit. 18.The proxy unit according to claim 17, wherein exchanger receives anexecution result of print server for printing service request andreturns to the client by the Internet Printing Protocol.
 19. The proxyunit according to claim 17, wherein the proxy unit connects with theprint server according to the connection request from the print server.20. The proxy unit according to claim 19, wherein the proxy unit plays arole of a server and the print server plays a role of a client when theproxy unit and the print server are connected, and the proxy unit playsa role of a client and the print server plays a role of a server whenthe printing service is requested after the connection.
 21. The proxyunit according to claim 17, wherein the user accesses the server site bythe Internet Printing Protocol, the Internet Printing Protocol isconverted to a protocol which allows circumventing the firewall of theprint server.
 22. A printer server comprising: a network interface forcommunicating; and a processor that requests to a proxy unit installedon the Internet to open a server site of a print server, and receives aprinting service request from the proxy unit where a protocol used for aprinting service request of the client is converted into a protocolwhich allows circumventing the firewall of the print server at theaccess of the client to the server site, and executes the printingservice request, wherein the firewall is provided between the printserver and the proxy unit.
 23. The print server according to claim 22,wherein the proxy unit plays a role of a server and the print serverplays a role of a client when the proxy unit and the print server areconnected, and the proxy unit plays the role of a client and the printserver plays a role of a server when the printing service is requestedafter the connection.
 24. The printer server according to claim 22,wherein the user accesses the server site by the Internet PrintingProtocol, the Internet Printing Protocol is converted to a protocolwhich allows circumventing the firewall of the print server.